package com.flying.enUmeration;

/**
 * @author liupengfei
 * @ClassName: ThisDemo
 * @Time: 2023-08-09 16:57
 * @Descition this关键字的使用
 *
 *  this的指代
 *   1. 在方法内部使用,指代方法所属对象的引用
 *   2. 构造器内部使用,指代构造器正在初始化的对象
 *  this可以调用类的属性,方法和构造器
 *  注意事项:
 *      1.可在类的构造器中使用" this(形参列表)"的方式,调用本类中重载的其他构造器
 *      2.明确:构造器中不能通过"this(形参列表)"的方式调用自身构造器
 *      3. 如果一个类声明了n个构造器,则最多有n-1个构造器中使用了"this(形参列表)"
 *      4. this(形参列表)必须声明在类的构造器的首行
 *      5. 在一个类的构造器中最多只能声明一个"this(形参列表)"
 *
 */
public class ThisDemo   {
    public static void main(String[] args) {
        Test t1=new Test(1,2,3,4,7) ;
    }
}

class Test{
    private int x;
    private int y;
    private int z;
    private int p;
    private int n;

    public Test() {
    }

    public Test(int x, int y, int z){
        this.x=x;
        this.y=y;
        this.z=z;
    }

    public Test(int x, int y, int z, int p, int n){
        this(x,y,z);
        this.p=p;
        this.n=n;
    }
}
